<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>设计模式主界面</title>
<link rel="stylesheet" href="css/main.css" media="screen"
	type="text/css" />
<link href='http://fonts.googleapis.com/css?family=Open+Sans'
	rel='stylesheet' type='text/css'>
<link
	href="http://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"
	rel="stylesheet">
<script src='js/jquery.js'></script>
<script type="text/javascript" src="js/pattern1.js"></script>

</head>
<body>
	<label id="judge" style="display: none;">1</label>
	<div class="sidebar">
		<h1>
			<i class="fa fa-bars push"></i>Design Pattern 
		</h1>
		<ul>
			<c:forEach items="${sessionScope.menus }" var="item">
			 	${item.menu }
			 </c:forEach>
		</ul>
	</div>
	<script src='js/jquery.js'></script>
	<script src="js/index.js"></script>
	<div class="abody">
		<div>
			<h1>设计模式简介</h1>
		</div>
		<div class="aside">
		<p>设计模式（Design
			pattern）代表了最佳的实践，通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。</p>
		<p>设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。
			毫无疑问，设计模式于己于他人于系统都是多赢的，设计模式使代码编制真正工程化，设计模式是软件工程的基石，如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题，每种模式在现实中都有相应的原理来与之对应，每种模式都描述了一个在我们周围不断重复发生的问题，以及该问题的核心解决方案，这也是设计模式能被广泛应用的原因。</p>

		<ul>
			<li>对接口编程而不是对实现编程。</li>
			<li>优先使用对象组合而不是继承。</li>
		</ul>
		<h2>设计模式的使用</h2>
		<p>设计模式在软件开发中的两个主要用途。</p>
		<h3>&nbsp;&nbsp;&nbsp;&nbsp;开发人员的共同平台</h3>
		<p>设计模式提供了一个标准的术语系统，且具体到特定的情景。例如，单例设计模式意味着使用单个对象，这样所有熟悉单例设计模式的开发人员都能使用单个对象，并且可以通过这种方式告诉对方，程序使用的是单例模式。</p>
		<h3>&nbsp;&nbsp;&nbsp;&nbsp;最佳的实践</h3>
		<p>设计模式已经经历了很长一段时间的发展，它们提供了软件开发过程中面临的一般问题的最佳解决方案。学习这些模式有助于经验不足的开发人员通过一种简单快捷的方式来学习软件设计。</p>
		<h2>设计模式的类型</h2>
		<p>
			根据设计模式的参考书 <b>Design Patterns - Elements of Reusable
				Object-Oriented Software（中文译名：设计模式 - 可复用的面向对象软件元素）</b> 中所提到的，总共有 23
			种设计模式。这些模式可以分为三大类：创建型模式（Creational Patterns）、结构型模式（Structural
			Patterns）、行为型模式（Behavioral Patterns）。
		</p>
		<p>下面用一个图片来整体描述一下设计模式之间的关系：</p>
		<p>
			<img title="设计模式之间的关系"
				src="images/de.jpg"
				alt="设计模式之间的关系" width="820" height="800" />
		</p>
	</div>
	</div>
	<script src='js/jquery.js'></script>
	<div class="down">
		<label>技术支持:李洋洋</label>
		<label><a href="suggest">提出建议</a></label>
		<label><a href="contact">联系我们</a></label>
	</div>
</body>
</html>